package cn.fl.spl.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.spl.vo.SplRankInfoVO;
import fl.mongo.facade.analysis.dto.SplRankInfoDTO;
import java.util.ArrayList;
import java.util.List;

public class SplRankInfoVOTransform {
    /**
     * PO转DTO
     *
     * @param po
     * @return
     */
    public static SplRankInfoDTO toDTO(SplRankInfoVO po) {
        SplRankInfoDTO dto = null;
        if (null != po) {
            dto = new SplRankInfoDTO();
            dto.setId(po.getId());
            dto.setCrtTm(po.getCrtTm());
            dto.setSplId(po.getSplId());
            dto.setStoreId(po.getStoreId());
            dto.setMonth(po.getMonth());
            dto.setYear(po.getYear());
            dto.setCode(po.getCode());
            dto.setCodeNm(po.getCodeNm());
            dto.setPeriod(po.getPeriod());
            dto.setRankNo(po.getRankNo());
            dto.setRankVersion(po.getRankVersion());
            dto.setSplNm(po.getSplNm());
            dto.setStoreNm(po.getStoreNm());
            dto.setType(po.getType());
            dto.setBeginDt(po.getBeginDt());
            dto.setEndDt(po.getEndDt());
            dto.setLogoUrl(po.getLogoUrl());
        }
        return dto;
    }

    /**
     * DTO转PO
     *
     * @param dto
     * @return
     */
    public static SplRankInfoVO toPO(SplRankInfoDTO dto) {
        SplRankInfoVO po = null;
        if (null != dto) {
            po = new SplRankInfoVO();
            po.setId(dto.getId());
            po.setCrtTm(dto.getCrtTm());
            po.setSplId(dto.getSplId());
            po.setStoreId(dto.getStoreId());
            po.setMonth(dto.getMonth());
            po.setYear(dto.getYear());
            po.setCode(dto.getCode());
            po.setCodeNm(dto.getCodeNm());
            po.setPeriod(dto.getPeriod());
            po.setRankNo(dto.getRankNo());
            po.setRankVersion(dto.getRankVersion());
            po.setSplNm(dto.getSplNm());
            po.setStoreNm(dto.getStoreNm());
            po.setType(dto.getType());
            po.setBeginDt(dto.getBeginDt());
            po.setEndDt(dto.getEndDt());
            po.setLogoUrl(dto.getLogoUrl());
        }
        return po;
    }

    /**
     * PO集合 转 DTO集合
     *
     * @param list List<SplRankInfoVO>
     * @return List<SplRankInfoDTO>
     */
    public static List<SplRankInfoDTO> toDTOList(List<SplRankInfoVO> list) {
        List<SplRankInfoDTO> dtoList = new ArrayList<SplRankInfoDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplRankInfoVO po : list) {
                dtoList.add(toDTO(po));
            }
        }
        return dtoList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<SplRankInfoDTO>
     * @return List<SplRankInfoVO>
     */
    public static List<SplRankInfoVO> toVOList(List<SplRankInfoDTO> list) {
        List<SplRankInfoVO> voList = new ArrayList<SplRankInfoVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplRankInfoDTO dto : list) {
                voList.add(toPO(dto));
            }
        }
        return voList;
    }
}
